REMUS-OBJS += hashtable_itr.o
REMUS-OBJS += hashtable_utility.o
-$(REMUS-OBJS): CFLAGS += -fgnu89-inline -I$(XEN_XENSTORE)
-
+$(REMUS-OBJS): CFLAGS += -I$(XEN_XENSTORE)
LIBAIO_DIR = $(XEN_ROOT)/tools/libaio/src
tapdisk2 tapdisk-stream tapdisk-diff $(QCOW_UTIL): AIOLIBS := $(LIBAIO_DIR)/libaio.a
#include "hashtable_itr.h"
#include <stdlib.h> /* defines NULL */
+struct hashtable_itr {
+ struct hashtable *h;
+ struct entry *e;
+ struct entry *parent;
+ unsigned int index;
+};
+
/*****************************************************************************/
/* hashtable_iterator - iterator constructor */
#include "hashtable.h"
#include "hashtable_private.h" /* needed to enable inlining */
-/*****************************************************************************/
-/* This struct is only concrete here to allow the inlining of two of the
- * accessor functions. */
-struct hashtable_itr
-{
- struct hashtable *h;
- struct entry *e;
- struct entry *parent;
- unsigned int index;
-};
-
+struct hashtable_itr;
/*****************************************************************************/
/* hashtable_iterator
/* hashtable_iterator_key
* - return the value of the (key,value) pair at the current position */
-extern inline void *
-hashtable_iterator_key(struct hashtable_itr *i)
-{
- return i->e->k;
-}
+void *
+hashtable_iterator_key(struct hashtable_itr *i);
/*****************************************************************************/
/* value - return the value of the (key,value) pair at the current position */
-extern inline void *
-hashtable_iterator_value(struct hashtable_itr *i)
-{
- return i->e->v;
-}
+void *
+hashtable_iterator_value(struct hashtable_itr *i);
/*****************************************************************************/
/* advance - advance the iterator to the next element